#pragma once
#include "windows.h"

#include <vector>
using std::vector;

class IShape;

class IPhysics
{
public:
	vector<IShape*> m_vectorOfPhysicEntities;
	float m_gravity;
	DWORD m_timeStart;
	DWORD m_timePreviousUpdate;

public:
	virtual ~IPhysics(void){};

	virtual IShape* createRectangle(int width, int height)=0;
	virtual IShape* createCircle(int radius) = 0;

	virtual void doUpdate()=0;

	virtual int meterToPixel(const float meter)=0;
	virtual float pixelToMeter(const int pixel)=0;

	virtual void pauseSimulation(bool bPause) = 0;

	virtual void fillQuadTree(void)=0;
};
